1.1 介绍
让 .NET 开发更简单,更通用,更流行。
💐 序言
无私奉献不是天方夜谭,有时候,我们也可以做到。
🍕 名字的由来
故事是这样子的:
自微软宣布
.NET 5平台消息之后,就琢磨着开发一个基于.NET 5平台的开发框架,想做第一个吃.NET 5螃蟹尝鲜之人。一开始想到了
Lazier作为框架的名称,中文有 更懒 的意思。符合我的 “一切从简,只为了更懒” 的开发理念。但是 更懒 和 更烂 中文读音相近且没有特色,而且寓意也不是很好,对此换名问题苦恼了好些天。
刚好有一次在 QQ 群中无意间刷到了群友发的 “先知” 单词:“
Furion”,就那一刻,就认定它了!
Furion中文有先知的意思,恰好符合我创建框架的初衷。所以,Furion就诞生了。
🍟 文档地址
- 中文文档:https://furion.net
🌭 开源地址
- Gitee:https://gitee.com/dotnetchina/Furion
- GitHub:https://github.com/monksoul/Furion
- NuGet:https://www.nuget.org/packages/Furion
🥥 框架拓展包
| 包类型 | 名称 | 版本 | 描述 |
|---|---|---|---|
| nuget | Furion | nuget | Furion 核心包 |
| nuget | Furion.Pure | nuget | Furion 纯净版包(不含 EFCore) |
| nuget | Furion.Extras.Authentication.JwtBearer | nuget | Furion Jwt 拓展包 |
| nuget | Furion.Extras.DependencyModel.CodeAnalysis | nuget | Furion CodeAnalysis 拓展包(无需安装) |
| nuget | Furion.Pure.Extras.DependencyModel.CodeAnalysis | nuget | Furion 纯净版 CodeAnalysis 拓展包(无需安装) |
| nuget | Furion.Extras.ObjectMapper.Mapster | nuget | Furion Mapster 拓展包 |
| nuget | Furion.Extras.DatabaseAccessor.SqlSugar | nuget | Furion SqlSugar 拓展包 |
| nuget | Furion.Extras.DatabaseAccessor.Dapper | nuget | Furion Dapper 拓展包 |
| nuget | Furion.Extras.DatabaseAccessor.MongoDB | nuget | Furion MongoDB 拓展包 |
| nuget | Furion.Extras.Logging.Serilog | nuget | Furion Serilog 拓展包 |
| nuget | Furion.Xunit | nuget | Furion Xunit 单元测试拓展包 |
| nuget | Furion.Pure.Xunit | nuget | Furion 纯净版包 Xunit 单元测试拓展包(不含 EFCore) |
| nuget | Furion.Tools.CommandLine | nuget | Furion Tools 命令行参数解析 |
🍄 框架脚手架
Furion + EFCore
| 模板类型 | 名称 | 版本 | 描述 |
|---|---|---|---|
| nuget | Furion.Template.Mvc | nuget | Mvc 模板 |
| nuget | Furion.Template.Api | nuget | WebApi 模板 |
| nuget | Furion.Template.App | nuget | Mvc/WebApi 模板 |
| nuget | Furion.Template.Razor | nuget | RazorPages 模板 |
| nuget | Furion.Template.RazorWithWebApi | nuget | RazorPages/WebApi 模板 |
| nuget | Furion.Template.Blazor | nuget | Blazor 模板 |
| nuget | Furion.Template.BlazorWithWebApi | nuget | Blazor/WebApi 模板 |
| nuget | Furion.Template.Blazor.App | nuget | Blazor App(Auto) 模板 |
Furion + SqlSugar
| 模板类型 | 名称 | 版本 | 描述 |
|---|---|---|---|
| nuget | Furion.SqlSugar.Template.Mvc | nuget | Mvc 模板 |
| nuget | Furion.SqlSugar.Template.Api | nuget | WebApi 模板 |
| nuget | Furion.SqlSugar.Template.App | nuget | Mvc/WebApi 模板 |
| nuget | Furion.SqlSugar.Template.Razor | nuget | RazorPages 模板 |
| nuget | Furion.SqlSugar.Template.RazorWithWebApi | nuget | RazorPages/WebApi 模板 |
| nuget | Furion.SqlSugar.Template.Blazor | nuget | Blazor 模板 |
| nuget | Furion.SqlSugar.Template.BlazorWithWebApi | nuget | Blazor/WebApi 模板 |
| nuget | Furion.SqlSugar.Template.Blazor.App | nuget | Blazor App(Auto) 模板 |
🍎 框架特点
- 全新面貌:基于
.NET5/6/7/8/9+平台,没有历史包袱 - 极少依赖:框架只依赖两个第三方包
- 极易入门:只需要一个
Inject()即可完成配置 - 极速开发:内置丰富的企业应用开发功能
- 极其灵活:轻松面对多变复杂的需求
- 极易维护:采用独特的架构思想,只为长久维护设计
- 完整文档:提供完善的开发文档
- 跨全平台:支持所有主流操作系统及 .NET 全部项目类型
🥝 功能模块

🥐 框架依赖
Furion 为了追求极速入门,极致性能,尽可能的不使用或减少第三方依赖。目前 Furion 仅集成了以下两个依赖:
- MiniProfiler:性能分析和监听必备
- Swashbuckle:
Swagger接口文档
麻雀虽小五脏俱全。Furion 即使只集成了这两个依赖,但是主流的 依赖注入/控制反转,AOP 面向切面编程,事件总线,数据验证,数据库操作 等等一个都不少。
🥗 环境要求
- Visual Studio 2019 16.8 +
- Visual Studio Code
- .NET 5 SDK +
🥪 支持平台
- 运行环境
- Windows
- Linux
- MacOS/MacOS M1 CPU
- Docker/K8S/K3S/Rancher
- ~~Xamarin/MAUI~~
- 数据库
- SqlServer
- Sqlite
- Azure Cosmos
- MySql
- MariaDB
- PostgreSQL
- InMemoryDatabase
- Oracle
- Firebird
- 达梦数据库
- MongoDB
- 应用部署
- Kestrel
- Nginx
- Jexus
- IIS
- Apache
- PM2
- Supervisor
- 独立发布/单文件
- Windows Service
- 容器(Docker/K8S/K3S/Rancher/PodMan)
🍖 关于性能
Furion 目前采用 Visual Studio 2019 16.8+ 自带性能测试和 JMeter 进行测试,由于篇幅有限,只贴部分测试图,测试结果如下:

🍻 贡献代码
Furion 遵循 MIT 开源协议,欢迎大家提交 Pull Request 或 Issue。
如果要为项目做出贡献,请查看 贡献指南。感谢每一位为 Furion 贡献代码的朋友。